# -*- coding: utf-8 -*-
#@autor: Rui Filipe, 6047
#@autor: Damien Fialho, 11243
#@date: 05/11/2012
#entrega da primeira parte do trabalho de python
#este código realiza a leitura do fichero .xls e coloca a informação dentro de uma dase de dados


from xlrd import open_workbook
import sqlite3
wb = open_workbook('Inscritos_2010-2011.xls')
folha = wb.sheets()[30]

lista1 = []

lista2 = []

lista3 = []
lista4 = []

lista5 = []
lista6 = []
lista7 = []

lista8 = []
lista9 = []
lista10 = []

ListaA = []
ListaB = []
ListaC = []
ListaD = []
ListaE = []

flag = 0
random = 0
random1 = 0
for row in range(4, folha.nrows - 9):
    for col in range(0, 5):
        if flag == 1:
            if col == 0:
                if folha.cell(row, col).value != '':
                    lista1.append(folha.cell(row, col).value.encode('utf-8'))
                    ListaB.append(lista2)
                    lista2 = []
                    lista4.append(lista3)
                    lista3 = []
                    ListaC.append(lista4)
                    lista4 = []
                    lista6.append(lista5)
                    lista5 = []
                    lista7.append(lista6)
                    lista6 = []
                    ListaD.append(lista7)
                    lista7 = []
                    lista9.append(lista8)
                    lista8 = []
                    lista10.append(lista9)
                    lista9 = []
                    ListaE.append(lista10)
                    lista10 = []
                    random = 1
                    pass
            elif col == 1:
                if folha.cell(row, col).value != '':
                    lista2.append(folha.cell(row, col).value.encode('utf-8'))
                    if random != 1:
                        lista4.append(lista3)
                        lista3 = []
                        random1 = 1
                        pass
                    pass
            elif col == 2:
                if folha.cell(row, col).value != '':
                    lista3.append(folha.cell(row, col).value.encode('utf-8'))
                    if random != 1:
                        if random1 != 1:
                            lista6.append(lista5)
                            lista5 = []
                            lista9.append(lista8)
                            lista8 = []
                            pass
                        else:
                            lista6.append(lista5)
                            lista5 = []
                            lista7.append(lista6)
                            lista6 = []
                            lista9.append(lista8)
                            lista8 = []
                            lista10.append(lista9)
                            lista9 = []
                            pass
                        random1 = 0
                        pass
                    random = 0
                    pass
            elif col == 3:
                if folha.cell(row, col).value != '':
                    lista5.append(folha.cell(row, col).value.encode('utf-8'))
                    pass
            else:
                if folha.cell(row, col).value != '':
                    lista8.append(folha.cell(row, col).value.encode('utf-8'))
                    pass
        else:
            if col == 0:
                lista1.append(folha.cell(row, col).value.encode('utf-8'))
                pass
            elif col == 1:
                lista2.append(folha.cell(row, col).value.encode('utf-8'))
                pass
            elif col == 2:
                lista3.append(folha.cell(row, col).value.encode('utf-8'))
                pass
            elif col == 3:
                lista5.append(folha.cell(row, col).value.encode('utf-8'))
                pass
            else:
                lista8.append(folha.cell(row, col).value.encode('utf-8'))
                pass
        pass
    pass
    flag = 1
pass
ListaA = lista1
ListaB.append(lista2)
lista4.append(lista3)
ListaC.append(lista4)
lista6.append(lista5)
lista7.append(lista6)
ListaD.append(lista7)
lista9.append(lista8)
lista10.append(lista9)
ListaE.append(lista10)

conn = sqlite3.connect('Base de Dados de Inscritos.db')
cur = conn.cursor()
cur.execute('''CREATE TABLE IF NOT EXISTS Curso ( id_Curso PRIMARY KEY, Estabelecimento_Ensino TEXT, Unidade_Orgânica TEXT, Nível_Formação TEXT, Curso_Superior TEXT, Área_Educação_Formação TEXT)''')

key = 1
for n in range(0, len(ListaA)):
    for m in range(0, len(ListaB[n])):
        for o in range(0, len(ListaC[n][m])):
            for i in range(0, len(ListaD[n][m][o])):
                cur.execute('''INSERT INTO Curso(id_Curso, Estabelecimento_Ensino, Unidade_Orgânica, Nível_Formação, Curso_Superior, Área_Educação_Formação)values("{0}","{1}","{2}","{3}","{4}","{5}")'''.format(key, ListaA[n], ListaB[n][m], ListaC[n][m][o], ListaD[n][m][o][i], ListaE[n][m][o][i]))
                key = key + 1
                pass
            pass
        pass
    pass
pass

cur.execute('''SELECT * FROM Curso where Estabelecimento_Ensino = "0200 - Universidade do Algarve"''')
for row in cur:
    for i in row:
        print i
        pass
    pass
pass
